<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        var username="alice";
        var age=34;
        var user1={
            username:"alice",
            age:34
        };
        var user2={
            username:username,
            age:age,
            say:function(){
                console.log("hello");
            }
        };

      /*   在ES6中对象构成简化语法：
            1.对象构建时，如果属性值来自于外部的其他变量，且外部变量名和属性名一致，定义时只需要定义变量即可
            2.对象构建时，如果存在方法定义，可以直接省略关键字 */

        var obj={
            username,
            age,
            say(){//等同于 say:function(){}
                console.log("hello");
            }

        };
        console.log(obj);
        obj.say();

        for(let key in obj){
            // console.log(obj.key);//因为将key作为对象的属性名，但是对象中没有属性名为key的值
            console.log(obj[key]);
        }
    </script>
</head>
<body>
    
</body>
</html>